Phases of the subscription template configuration. A product can omit price and prices to set its price later: it is saved without prices, and applying the configuration (creating a subscription, a quote or a transition from the template) returns a 400 error until all its products are priced. Until then, create the subscription with explicit products instead, keeping template_id for reporting.
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Hyperline","colors":{"primary":"#1A1A1A","light":"#999999","dark":"#1A1A1A"},"logo":{"light":"https://mintcdn.com/hyperline/G-7ZQgHUOVHWwtUN/layout/logo-dark.png?fit=max\u0026auto=format\u0026n=G-7ZQgHUOVHWwtUN\u0026q=85\u0026s=2521f5f5ce4977d387d12aa169a8ee55","dark":"https://mintcdn.com/hyperline/G-7ZQgHUOVHWwtUN/layout/logo-light.png?fit=max\u0026auto=format\u0026n=G-7ZQgHUOVHWwtUN\u0026q=85\u0026s=c81125a44e9fdf8006623ab1f597ce7f"},"favicon":"https://mintcdn.com/hyperline/xZrQhb6Rphak0y92/favicon.png?fit=max\u0026auto=format\u0026n=xZrQhb6Rphak0y92\u0026q=85\u0026s=c52ed2ba655f301d3a99a7987888c622","api":{"openapi":["https://api.hyperline.co/openapi","https://ingest.hyperline.co/openapi"],"playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":["https://api.hyperline.co","https://ingest.hyperline.co"]}},"appearance":{"default":"light"},"background":{"color":{"light":"#fafafa","dark":"#1f1f1f"}},"navbar":{"links":[{"href":"https://www.hyperline.co/talk-to-sales","label":"Book a call"}],"primary":{"type":"button","label":"Get Started","href":"https://app.hyperline.co"}},"footer":{"links":[{"header":"Resources","items":[{"label":"Status","href":"https://status.hyperline.co"},{"label":"Changelog","href":"https://docs.hyperline.co/changelog"},{"label":"Glossary","href":"https://docs.hyperline.co/docs/introduction/glossary"},{"label":"Contact support","href":"mailto:support@hyperline.co"}]},{"header":"Company","items":[{"label":"Customers","href":"https://www.hyperline.co/resources/customers"},{"label":"Blog","href":"https://www.hyperline.co/resources/blog"},{"label":"Careers","href":"https://www.welcometothejungle.com/fr/companies/hyperline"},{"label":"Media Kit","href":"https://drive.google.com/drive/folders/1KIlufVDz6tgwohTFFv1jSyoqeHO0pKOm"}]},{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://www.hyperline.co/privacy-policy"},{"label":"Terms of Service","href":"https://www.hyperline.co/terms-of-service"},{"label":"Security","href":"https://docs.hyperline.co/security"}]}]},"seo":{"metatags":{"og:image":"https://app.hyperline.co/auth/background.svg"},"indexing":"navigable"},"fonts":{"family":"Inter"},"integrations":{"posthog":{"apiKey":"phc_KmmpIQ7SFNwnur6ZqVC118l5EkS1pqo313t4qxwL32n","apiHost":"https://eu.posthog.com"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hyperline","hasAudioNarration":false,"actualSubdomain":"hyperline","customDomains":["docs.hyperline.co"],"gitSource":{"type":"github","owner":"meterly","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae38f26c20bf343b6034c4d","collectionId":"452e0037-860a-4445-989f-763674a04cf8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae38f26c20bf343b6034c4d"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae38f26c20bf343b6034c4d","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Developers","count":348},{"language":"default","tag":"Documentation","count":109},{"language":"default","tag":"Integrations","count":42},{"language":"default","tag":"Subscriptions","count":37},{"language":"default","tag":"Invoices","count":36},{"language":"default","tag":"AI > Billing","count":27},{"language":"default","tag":"Quotes","count":24},{"language":"default","tag":"Customers","count":20},{"language":"default","tag":"Guides","count":20},{"language":"default","tag":"Changelog","count":16}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@hyperline.co","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"index.css","content":"a[href*=\"mintlify.com\"]{display:none;visibility:hidden}.text-2xl{font-weight:600}.tag-blue,.tag-orange{height:20px;line-height:20px;display:inline-block;margin:0;padding:0 6px;border-radius:4px;font-weight:600;font-size:12px}.tag-blue{background:#93c5fd;color:#0166ff;border:1px solid #0166ff}.tag-orange{background:#fef9e0;color:#da9e09;border:1px solid #da9e09}#footer>div>div:not(:first-child){display:none;visibility:hidden}"},{"filePath":"developers/getting-started.css","content":"#content-area:has(#developer-home){max-width:56rem;margin-inline:auto}"}],"page":{"pagePath":"api-reference/endpoints/subscriptions->-templates/create-subscription-template-configuration","slug":"/api-reference/endpoints/subscriptions->-templates/create-subscription-template-configuration","pageMetadata":{"openapi":"post /v1/subscriptions/templates/{id}/configurations","title":"Create subscription template configuration","description":"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.","href":"/api-reference/endpoints/subscriptions->-templates/create-subscription-template-configuration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /v1/subscriptions/templates/{id}/configurations","title":"Create subscription template configuration","description":"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.","href":"/api-reference/endpoints/subscriptions->-templates/create-subscription-template-configuration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createSubscriptionTemplateConfiguration","tags":["Subscriptions > Templates"],"security":["24065150-7a9c-4450-bd5f-c8700204b39a"],"summary":"Create subscription template configuration","description":"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.","parameters":["89094db9-1649-405a-8bb4-8f5f7f5fc0d4"],"requestBody":"a68d01a6-a934-4ea2-8556-3aa09895687f","responses":{"201":"c033b198-a8fa-47a3-b13b-c0fc7e659817"},"method":"post","type":"path","servers":["9d6c2dff-f72d-4054-925a-990beeb64ce3","9cc43143-bd38-406a-b98d-c98e583eb496"],"path":"/v1/subscriptions/templates/{id}/configurations","baseUrlOptions":["https://api.hyperline.co","https://sandbox.api.hyperline.co"],"title":"Create subscription template configuration","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"89094db9-1649-405a-8bb4-8f5f7f5fc0d4":{"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"id","in":"path"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["phases","currency","country"],"properties":{"currency":{"type":"string","enum":["EUR","AED","AFN","XCD","ALL","AMD","AOA","ARS","USD","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","XOF","BMD","BND","BOB","BRL","BSD","BTN","NOK","BWP","BYR","BZD","CAD","CDF","XAF","CHF","NZD","CLP","CNY","COP","CRC","CUP","CVE","ANG","CZK","DJF","DKK","DOP","DZD","EGP","MAD","ERN","ETB","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MUR","MVR","MWK","MXN","MYR","MZN","NAD","XPF","NGN","NIO","NPR","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STD","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","VUV","WST","YER","ZAR","ZMW","ZWL"],"description":"Subscription template currency.","example":"EUR","isRequired":true,"uniqueKey":"currency","typeLabel":"enum\u003cstring>"},"country":{"oneOf":[{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BF","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ES-CE","ES-ML","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PT-20","PT-30","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"],"description":"Subscription template country.","example":null,"isRequired":true,"uniqueKey":"country.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BF","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ES-CE","ES-ML","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PT-20","PT-30","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"],"description":"Subscription template country.","example":null,"isRequired":true,"uniqueKey":"country.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"country","typeLabel":"enum\u003cstring> | null"},"phases":{"type":"array","items":{"type":"object","properties":{"activation_strategy":{"type":"string","enum":["immediately","manual","start_date","quote_signature","checkout","contract_start_date","previous_phase_end"],"description":"\nActivation strategy of subscription phase.\n\n- `immediately`: The phase starts as soon as the subscription is activated.\n- `manual`: The phase starts when a user manually activates it.\n- `start_date`: The phase starts on a specified date.\n- `quote_signature`: The phase starts when the subscription quote is signed.\n- `checkout`: The phase starts when the subscription checkout is completed.\n- `contract_start_date`: The phase starts on the start date of the related subscription contract.\n- `previous_phase_end`: The phase starts when the previous phase ends.\n","example":"manual","isRequired":true,"uniqueKey":"phases.items.[INDEX].activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["manual","end_date","duration","contract_end_date"],"description":"\nEnd strategy of subscription phase.\n\n- `manual`: The phase ends when a user manually stops it.\n- `end_date`: The phase ends on a specified date.\n- `duration`: The phase ends after a specific relative duration.\n- `contract_end_date`: The phase ends on the end date of the related subscription contract.\n","example":"duration","isRequired":true,"uniqueKey":"phases.items.[INDEX].end_strategy","typeLabel":"enum\u003cstring>"},"billing_date_setting":{"type":"string","enum":["phase_start","specific_date"],"description":"\nRepresents when the first billing date occurs.\n\n- `phase_start`: Aligns with the start of the phase.\n- `specific_date`: Occurs on a specified date.\n","example":"phase_start","isRequired":true,"uniqueKey":"phases.items.[INDEX].billing_date_setting","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"string | number | boolean"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"string | number | boolean"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"string | number | boolean"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"string | number | boolean"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"}},"required":["id"],"uniqueKey":"phases.items.[INDEX].products.items.[INDEX]","typeLabel":"object"},"description":"Products comprising the subscription phase.","isRequired":true,"uniqueKey":"phases.items.[INDEX].products","typeLabel":"object[]"},"name":{"type":"string","description":"Name of the subscription phase.","example":"Initial term","uniqueKey":"phases.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["setup","trial","standard"],"default":"standard","description":"\nType of subscription phase.\n\n- `setup`: The phase represents a non-recurring service setup period, often used before the actual recurring subscription begins.\n- `trial`: The phase represents a non-recurring trial period, often used to allow users to opt out or experience a free test.\n- `standard`: The phase represents a standard recurring billing.\n","example":"standard","uniqueKey":"phases.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["finished","pending"],"default":"pending","description":"\nStatus of subscription phase.\n\n- `pending`: The phase is waiting to start (not started yet).\n- `active`: The phase is currently in progress.\n- `finished`: The phase has ended and is complete.\n","example":"pending","uniqueKey":"phases.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"order":{"type":"number","description":"Order in which the phase is executed within all subscription phases.","example":0,"uniqueKey":"phases.items.[INDEX].order","typeLabel":"number"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"phases.items.[INDEX].duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the subscription phase spans. Only applies to `duration` end strategy.","example":{"count":1,"period":"years"},"uniqueKey":"phases.items.[INDEX].duration","typeLabel":"object"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription phase will start being billed. Only applies to `specific_date` billing date setting. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].initial_billing_at","typeLabel":"string\u003cdate-time>"},"starts_at":{"type":"string","format":"date-time","description":"Actual start date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Actual end date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].ends_at","typeLabel":"string\u003cdate-time>"},"billing_cycle_alignment":{"type":"string","enum":["calendar_period","anniversary"],"description":"\nAlignment of product billing cycles. If omitted at creation, the billing cycles alignment configured in the account subscription settings applies.\n\n- `calendar_period`: The billing cycles of the products will be aligned on the calendar period, after the first period which will be invoiced taking into account the prorata of the first cycle compared to the product periodicity.\n- `anniversary`: The billing cycles of the products will be aligned on the anniversary of the phase initial billing date.\n","example":"anniversary","uniqueKey":"phases.items.[INDEX].billing_cycle_alignment","typeLabel":"enum\u003cstring>"},"do_not_invoice_phase":{"type":"boolean","default":false,"description":"Indicates if the phase should be invoiced. If set to true, the phase will not generate any invoices.","example":false,"uniqueKey":"phases.items.[INDEX].do_not_invoice_phase","typeLabel":"boolean"},"minimum_invoice_fee":{"oneOf":[{"type":"number","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"phases.items.[INDEX].minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"phases.items.[INDEX].minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].minimum_invoice_fee","typeLabel":"number | null"},"minimum_invoice_fee_products":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"phases.items.[INDEX].minimum_invoice_fee_products.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].minimum_invoice_fee_products","typeLabel":"string[] | null"},"transition_calculation_method":{"type":"string","enum":["prorata","pay_in_full","none"],"default":"prorata","description":"\nCalculation method used when transitioning from one phase to the next one.\n\n- `prorata`: The prorated amount between the two phases relative to the end date (the transition date) must be paid.\n- `pay_in_full`: The full amount for the phase billing period must be paid.\n- `none`: No amount will need to be paid, phase will simply transition from one to the next.\n","example":"prorata","uniqueKey":"phases.items.[INDEX].transition_calculation_method","typeLabel":"enum\u003cstring>"},"transition_invoicing_schedule":{"type":"string","enum":["immediately"],"default":"immediately","description":"\nRepresents when the transition amount will be invoiced.\n\n- `immediately`: An invoice will be generated immediately with the corresponding amount.\n","example":"immediately","uniqueKey":"phases.items.[INDEX].transition_invoicing_schedule","typeLabel":"enum\u003cstring>"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"phases.items.[INDEX].coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons comprising the subscription phase.","uniqueKey":"phases.items.[INDEX].coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"}},"required":["activation_strategy","end_strategy","billing_date_setting","products"],"uniqueKey":"phases.items.[INDEX]","typeLabel":"object"},"description":"Phases of the subscription template configuration. A product can omit `price` and `prices` to set its price later: it is saved without prices, and applying the configuration (creating a subscription, a quote or a transition from the template) returns a 400 error until all its products are priced. Until then, create the subscription with explicit products instead, keeping `template_id` for reporting.","isRequired":true,"uniqueKey":"phases","typeLabel":"object[]"},"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"name","typeLabel":"string"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"minimum_invoice_fee","typeLabel":"number | null"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"cancellation_strategy","typeLabel":"enum\u003cstring>"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"custom_properties","typeLabel":"object"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"contract_terms","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"currency":"EUR","country":null,"phases":[{"activation_strategy":"manual","end_strategy":"duration","billing_date_setting":"phase_start","products":[{"id":"itm_FJKlqUb8COXw55","catalog_version_id":"pcv_9x8v7u6t5s4r","name":"Product name","description":"A description of the product.","description_display_interval_dates":false,"payment_interval":{"period":"once"},"payment_schedule":"start","price":{"type":"fee","amount":200},"prices":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"count":2,"unit_name":"user","min_committed_count":2,"min_amount":123,"max_amount":123,"bill_usage_difference":false,"credits_expiration_in_days":123,"expire_credits_at_end_of_period":false,"credits_balance_auto_creation_enabled":true}],"name":"Initial term","type":"standard","status":"pending","order":0,"duration":{"count":1,"period":"years"},"initial_billing_at":"2024-12-20T16:04:11Z","starts_at":"2024-12-20T16:04:11Z","ends_at":"2024-12-20T16:04:11Z","billing_cycle_alignment":"anniversary","do_not_invoice_phase":false,"minimum_invoice_fee":10000,"minimum_invoice_fee_products":["itm_aaaaaaaaaaaaaa"],"transition_calculation_method":"prorata","transition_invoicing_schedule":"immediately","coupons":[{"id":"\u003cstring>","duration_count":123,"expires_at":"2024-12-20T16:04:11Z","apply_at":"2024-12-20T16:04:11Z","product_ids":["\u003cstring>"]}]}],"name":"\u003cstring>","minimum_invoice_fee":250,"cancel_at":"2024-12-20T16:04:11Z","custom_properties":{},"generate_document":true,"document_name":"\u003cstring>","add_tax_to_document":true,"generate_draft_invoices":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c033b198-a8fa-47a3-b13b-c0fc7e659817":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"}},"required":["id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"24065150-7a9c-4450-bd5f-c8700204b39a":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearer"}}},"servers":{"9d6c2dff-f72d-4054-925a-990beeb64ce3":{"url":"https://api.hyperline.co"},"9cc43143-bd38-406a-b98d-c98e583eb496":{"url":"https://sandbox.api.hyperline.co"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"api-reference/openapi-main.json"},"subdomain":"hyperline","siteName":"Hyperline","title":"Create subscription template configuration - Hyperline","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-20T12:22:59.078Z","originalFileLocation":"api-reference/endpoints/subscriptions->-templates/create-subscription-template-configuration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hyperline\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create subscription template configuration - Hyperline\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hyperline\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-\u0026gt;-templates/create-subscription-template-configuration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://app.hyperline.co/auth/background.svg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create subscription template configuration - Hyperline\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://app.hyperline.co/auth/background.svg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hyperline\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1A1A1A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-\u0026gt;-templates/create-subscription-template-configuration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hyperline.co/#organization\",\"name\":\"Hyperline\",\"url\":\"https://docs.hyperline.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hyperline/G-7ZQgHUOVHWwtUN/layout/logo-dark.png?fit=max\u0026auto=format\u0026n=G-7ZQgHUOVHWwtUN\u0026q=85\u0026s=2521f5f5ce4977d387d12aa169a8ee55\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hyperline.co#website\",\"name\":\"Hyperline\",\"url\":\"https://docs.hyperline.co\",\"publisher\":{\"@id\":\"https://docs.hyperline.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration#webpage\",\"url\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration\",\"name\":\"Create subscription template configuration\",\"description\":\"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.\",\"dateModified\":\"2026-05-20T12:22:59.078Z\",\"isPartOf\":{\"@id\":\"https://docs.hyperline.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Subscriptions > Templates\",\"item\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/get-subscription-template\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create subscription template configuration\",\"item\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration#apireference\",\"headline\":\"Create subscription template configuration\",\"name\":\"Create subscription template configuration\",\"description\":\"Add a configuration (currency/country, phases, products, contract terms) to a subscription template.\",\"url\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/subscriptions-%3E-templates/create-subscription-template-configuration#webpage\"},\"image\":\"https://app.hyperline.co/auth/background.svg\",\"dateModified\":\"2026-05-20T12:22:59.078Z\",\"publisher\":{\"@id\":\"https://docs.hyperline.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hyperline.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hyperline\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hyperline","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/docs"}]},{"tab":"Developers","icon":"code","groups":[{"group":"Technical documentation","pages":[{"title":"Hyperline for developers","sidebarTitle":"Getting started","mode":"wide","href":"/developers/getting-started"},{"title":"Authentication","href":"/developers/authentication"}]},{"group":"API fundamentals","pages":[{"title":"Pagination and filtering","href":"/developers/pagination"},{"title":"Error handling","href":"/developers/error-handling"},{"title":"Rate limiting","href":"/developers/rate-limiting"},{"title":"Idempotent requests","href":"/developers/idempotent-requests"},{"title":"Currency amounts","href":"/developers/amount"},{"title":"Dates \u0026 timezones","href":"/developers/dates-and-timezones"},{"title":"API upgrades","href":"/developers/upgrades"}]},{"group":"AI / LLMs","pages":[{"title":"Build with LLMs","href":"/developers/ai/overview"},{"title":"Hyperline MCP","sidebarTitle":"MCP server","href":"/developers/ai/mcp"},{"title":"Hyperline CLI","sidebarTitle":"CLI","href":"/developers/ai/cli"}]},{"group":"Integrations","pages":[{"title":"React components","href":"/developers/react-components"},{"title":"Third-party app","href":"/developers/third-party-app"},{"title":"Webhooks","href":"/developers/webhooks"}]},{"group":"AI > Billing","pages":[{"openapi":"get /v1/ai/billing/plans/default","title":"Get default billing plan","href":"/api-reference/endpoints/ai->-billing/get-default-billing-plan"},{"openapi":"get /v1/ai/billing/plans/{id}","title":"Get billing plan","href":"/api-reference/endpoints/ai->-billing/get-billing-plan"},{"openapi":"get /v1/ai/billing/rate-cards/{id}","title":"Get rate card","href":"/api-reference/endpoints/ai->-billing/get-rate-card"},{"openapi":"get /v1/ai/billing/customers/{id}/policies/default","title":"Get default billing policy","href":"/api-reference/endpoints/ai->-billing/get-default-billing-policy"},{"openapi":"get /v1/ai/billing/customers/{id}/policies/agents/{agent_slug}","title":"Get billing policy","href":"/api-reference/endpoints/ai->-billing/get-billing-policy"},{"openapi":"get /v1/ai/billing/customers/{id}/balance","title":"Get billing balance","href":"/api-reference/endpoints/ai->-billing/get-billing-balance"},{"openapi":"get /v1/ai/billing/products/{id}/rate-card","title":"Get product AI rate card","href":"/api-reference/endpoints/ai->-billing/get-product-ai-rate-card"},{"openapi":"get /v1/ai/billing/plans","title":"List billing plans","href":"/api-reference/endpoints/ai->-billing/list-billing-plans"},{"openapi":"get /v1/ai/billing/rate-cards","title":"List rate cards","href":"/api-reference/endpoints/ai->-billing/list-rate-cards"},{"openapi":"get /v1/ai/billing/customers/{id}/policies","title":"List billing policies","href":"/api-reference/endpoints/ai->-billing/list-billing-policies"},{"openapi":"get /v1/ai/billing/customers/{id}/consumption","title":"List consumption","href":"/api-reference/endpoints/ai->-billing/list-consumption"},{"openapi":"post /v1/ai/billing/plans","title":"Create billing plan","href":"/api-reference/endpoints/ai->-billing/create-billing-plan"},{"openapi":"post /v1/ai/billing/rate-cards","title":"Create rate card","href":"/api-reference/endpoints/ai->-billing/create-rate-card"},{"openapi":"post /v1/ai/billing/customers/{id}/apply-default-plan","title":"Apply default billing plan","href":"/api-reference/endpoints/ai->-billing/apply-default-billing-plan"},{"openapi":"delete /v1/ai/billing/plans/default","title":"Clear default billing plan","href":"/api-reference/endpoints/ai->-billing/clear-default-billing-plan"},{"openapi":"delete /v1/ai/billing/products/{id}/rate-card","title":"Clear product AI rate card","href":"/api-reference/endpoints/ai->-billing/clear-product-ai-rate-card"},{"openapi":"put /v1/ai/billing/customers/{id}/policies/agents/{agent_slug}","title":"Configure billing policy","href":"/api-reference/endpoints/ai->-billing/configure-billing-policy"},{"openapi":"put /v1/ai/billing/customers/{id}/policies/default","title":"Configure default billing policy","href":"/api-reference/endpoints/ai->-billing/configure-default-billing-policy"},{"openapi":"delete /v1/ai/billing/customers/{id}/policies/agents/{agent_slug}","title":"Remove billing policy","href":"/api-reference/endpoints/ai->-billing/remove-billing-policy"},{"openapi":"delete /v1/ai/billing/customers/{id}/policies/default","title":"Remove default billing policy","href":"/api-reference/endpoints/ai->-billing/remove-default-billing-policy"},{"openapi":"put /v1/ai/billing/plans/{id}","title":"Replace billing plan","href":"/api-reference/endpoints/ai->-billing/replace-billing-plan"},{"openapi":"put /v1/ai/billing/rate-cards/{id}","title":"Replace rate card","href":"/api-reference/endpoints/ai->-billing/replace-rate-card"},{"openapi":"post /v1/ai/billing/customers/{id}/windows/reset","title":"Reset allowance windows","href":"/api-reference/endpoints/ai->-billing/reset-allowance-windows"},{"openapi":"put /v1/ai/billing/plans/default","title":"Set default billing plan","href":"/api-reference/endpoints/ai->-billing/set-default-billing-plan"},{"openapi":"put /v1/ai/billing/products/{id}/rate-card","title":"Set product AI rate card","href":"/api-reference/endpoints/ai->-billing/set-product-ai-rate-card"},{"openapi":"delete /v1/ai/billing/plans/{id}","title":"Delete billing plan","href":"/api-reference/endpoints/ai->-billing/delete-billing-plan"},{"openapi":"delete /v1/ai/billing/rate-cards/{id}","title":"Delete rate card","href":"/api-reference/endpoints/ai->-billing/delete-rate-card"}]},{"group":"AI > Costs","pages":[{"openapi":"get /v1/ai/billing/costs","title":"List cost catalog","href":"/api-reference/endpoints/ai->-costs/list-cost-catalog"},{"openapi":"post /v1/ai/billing/costs/items","title":"Create custom cost item","href":"/api-reference/endpoints/ai->-costs/create-custom-cost-item"},{"openapi":"delete /v1/ai/billing/costs/items/{id}","title":"Remove custom cost item","href":"/api-reference/endpoints/ai->-costs/remove-custom-cost-item"},{"openapi":"delete /v1/ai/billing/costs/overrides/{id}","title":"Remove provider cost override","href":"/api-reference/endpoints/ai->-costs/remove-provider-cost-override"},{"openapi":"put /v1/ai/billing/costs/items/{id}","title":"Replace custom cost item","href":"/api-reference/endpoints/ai->-costs/replace-custom-cost-item"},{"openapi":"put /v1/ai/billing/costs/overrides","title":"Set provider cost override","href":"/api-reference/endpoints/ai->-costs/set-provider-cost-override"}]},{"group":"AI > Ingest","pages":[{"openapi":"get /v1/ai/billing/snapshot","title":"Get AI billing snapshot","href":"/api-reference/endpoints/ai->-ingest/get-ai-billing-snapshot"},{"openapi":"post /v1/ai/billing/check","title":"Check AI spend allowance","href":"/api-reference/endpoints/ai->-ingest/check-ai-spend-allowance"},{"openapi":"post /v1/ai/billing/consume","title":"Consume AI usage","href":"/api-reference/endpoints/ai->-ingest/consume-ai-usage"},{"openapi":"post /v1/ai/calls","title":"Ingest AI calls","href":"/api-reference/endpoints/ai->-ingest/ingest-ai-calls"}]},{"group":"AI > Monitoring","pages":[{"openapi":"get /v1/agents/monitoring/analyses/{id}","title":"Get monitoring analysis","href":"/api-reference/endpoints/ai->-monitoring/get-monitoring-analysis"},{"openapi":"get /v1/agents/monitoring/analyses","title":"List monitoring analyses","href":"/api-reference/endpoints/ai->-monitoring/list-monitoring-analyses"}]},{"group":"Accounting > Accounts","pages":[{"openapi":"get /v1/accounting/accounts/{id}","title":"Get ledger account","href":"/api-reference/endpoints/accounting->-accounts/get-ledger-account"},{"openapi":"get /v1/accounting/accounts","title":"List ledger accounts","href":"/api-reference/endpoints/accounting->-accounts/list-ledger-accounts"},{"openapi":"get /v1/accounting/primary-ledger/accounts","title":"List primary accounts","href":"/api-reference/endpoints/accounting->-accounts/list-primary-accounts"},{"openapi":"post /v1/accounting/accounts","title":"Create ledger account","href":"/api-reference/endpoints/accounting->-accounts/create-ledger-account"},{"openapi":"put /v1/accounting/accounts/{id}","title":"Update ledger account","href":"/api-reference/endpoints/accounting->-accounts/update-ledger-account"},{"openapi":"delete /v1/accounting/accounts/{id}","title":"Delete ledger account","href":"/api-reference/endpoints/accounting->-accounts/delete-ledger-account"}]},{"group":"Accounting > Journal entries","pages":[{"openapi":"get /v1/accounting/journal-entries/{id}","title":"Get journal entry","href":"/api-reference/endpoints/accounting->-journal-entries/get-journal-entry"},{"openapi":"get /v1/accounting/journal-entries","title":"List journal entries","href":"/api-reference/endpoints/accounting->-journal-entries/list-journal-entries"},{"openapi":"get /v1/accounting/journal-entry-lines","title":"List journal entry lines","href":"/api-reference/endpoints/accounting->-journal-entries/list-journal-entry-lines"},{"openapi":"post /v1/accounting/journal-entries","title":"Create journal entry","href":"/api-reference/endpoints/accounting->-journal-entries/create-journal-entry"},{"openapi":"post /v1/accounting/journal-entries/recognition-preview","title":"Preview recognition schedule","href":"/api-reference/endpoints/accounting->-journal-entries/preview-recognition-schedule"}]},{"group":"Accounting > Ledgers","pages":[{"openapi":"get /v1/accounting/ledgers/{id}","title":"Get ledger","href":"/api-reference/endpoints/accounting->-ledgers/get-ledger"},{"openapi":"get /v1/accounting/ledgers/{id}/close","title":"Get ledger close state","href":"/api-reference/endpoints/accounting->-ledgers/get-ledger-close-state"},{"openapi":"get /v1/accounting/ledgers","title":"List ledgers","href":"/api-reference/endpoints/accounting->-ledgers/list-ledgers"},{"openapi":"get /v1/accounting/ledgers/{id}/close-events","title":"List ledger close events","href":"/api-reference/endpoints/accounting->-ledgers/list-ledger-close-events"},{"openapi":"post /v1/accounting/ledgers","title":"Create ledger","href":"/api-reference/endpoints/accounting->-ledgers/create-ledger"},{"openapi":"put /v1/accounting/ledgers/{id}","title":"Update ledger","href":"/api-reference/endpoints/accounting->-ledgers/update-ledger"},{"openapi":"post /v1/accounting/ledgers/{id}/close","title":"Close ledger period","href":"/api-reference/endpoints/accounting->-ledgers/close-ledger-period"},{"openapi":"post /v1/accounting/ledgers/{id}/reopen","title":"Reopen ledger period","href":"/api-reference/endpoints/accounting->-ledgers/reopen-ledger-period"},{"openapi":"delete /v1/accounting/ledgers/{id}","title":"Delete ledger","href":"/api-reference/endpoints/accounting->-ledgers/delete-ledger"}]},{"group":"Accounting > Reports","pages":[{"openapi":"post /v1/accounting/general-ledger/export","title":"Export general ledger","href":"/api-reference/endpoints/accounting->-reports/export-general-ledger"},{"openapi":"post /v1/accounting/income-statement/export","title":"Export income statement","href":"/api-reference/endpoints/accounting->-reports/export-income-statement"}]},{"group":"Accounting > Revenue recognition","pages":[{"openapi":"get /v1/accounting/revrec/waterfall","title":"Get revenue recognition waterfall","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-waterfall"},{"openapi":"get /v1/accounting/revrec/waterfall/cell","title":"Get revenue recognition waterfall cell","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-waterfall-cell"},{"openapi":"get /v1/accounting/revrec/unbilled","title":"Get unbilled revenue","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-unbilled-revenue"},{"openapi":"get /v1/accounting/revrec/schedules/{id}","title":"Get revenue recognition schedule","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-schedule"},{"openapi":"get /v1/accounting/revrec/slices/{id}","title":"Get revenue recognition slice","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-slice"},{"openapi":"get /v1/accounting/revrec/schedules","title":"List revenue recognition schedules","href":"/api-reference/endpoints/accounting->-revenue-recognition/list-revenue-recognition-schedules"},{"openapi":"get /v1/accounting/revrec/schedules/{schedule_id}/adjustments","title":"List revenue recognition adjustments","href":"/api-reference/endpoints/accounting->-revenue-recognition/list-revenue-recognition-adjustments"},{"openapi":"post /v1/accounting/revrec/recognized-summary/export","title":"Export recognized revenue summary","href":"/api-reference/endpoints/accounting->-revenue-recognition/export-recognized-revenue-summary"},{"openapi":"post /v1/accounting/revrec/waterfall/export","title":"Export revenue recognition waterfall","href":"/api-reference/endpoints/accounting->-revenue-recognition/export-revenue-recognition-waterfall"},{"openapi":"post /v1/accounting/revrec/schedules/{schedule_id}/reshape/preview","title":"Preview revenue recognition reshape","href":"/api-reference/endpoints/accounting->-revenue-recognition/preview-revenue-recognition-reshape"},{"openapi":"post /v1/accounting/revrec/schedules/{schedule_id}/reshape","title":"Reshape revenue recognition schedule","href":"/api-reference/endpoints/accounting->-revenue-recognition/reshape-revenue-recognition-schedule"}]},{"group":"Accounting > Rules","pages":[{"openapi":"get /v1/accounting/rules/tree","title":"Get accounting rule tree","href":"/api-reference/endpoints/accounting->-rules/get-accounting-rule-tree"},{"openapi":"post /v1/accounting/rules/defaults","title":"Get rule defaults","href":"/api-reference/endpoints/accounting->-rules/get-rule-defaults"},{"openapi":"get /v1/accounting/rules/{id}","title":"Get accounting rule","href":"/api-reference/endpoints/accounting->-rules/get-accounting-rule"},{"openapi":"get /v1/accounting/rules","title":"List accounting rules","href":"/api-reference/endpoints/accounting->-rules/list-accounting-rules"},{"openapi":"post /v1/accounting/rules","title":"Create accounting rule","href":"/api-reference/endpoints/accounting->-rules/create-accounting-rule"},{"openapi":"put /v1/accounting/rules/{id}","title":"Update accounting rule","href":"/api-reference/endpoints/accounting->-rules/update-accounting-rule"},{"openapi":"post /v1/accounting/rules/resolve","title":"Resolve accounting rule","href":"/api-reference/endpoints/accounting->-rules/resolve-accounting-rule"},{"openapi":"delete /v1/accounting/rules/{id}","title":"Delete accounting rule","href":"/api-reference/endpoints/accounting->-rules/delete-accounting-rule"}]},{"group":"Aggregators","pages":[{"openapi":"get /v1/aggregators/{id}","title":"Get aggregator","href":"/api-reference/endpoints/aggregators/get-aggregator"},{"openapi":"get /v1/aggregators","title":"List aggregators","href":"/api-reference/endpoints/aggregators/list-aggregators"},{"openapi":"post /v1/aggregators","title":"Create aggregator","href":"/api-reference/endpoints/aggregators/create-aggregator"},{"openapi":"put /v1/aggregators/{id}","title":"Update aggregator","href":"/api-reference/endpoints/aggregators/update-aggregator"},{"openapi":"delete /v1/aggregators/{id}","title":"Delete aggregator","href":"/api-reference/endpoints/aggregators/delete-aggregator"}]},{"group":"Aggregators > Usage","pages":[{"openapi":"get /v1/aggregators/{id}/usage","title":"Get aggregator usage","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage"},{"openapi":"get /v1/aggregators/{id}/usage/timeseries","title":"Get aggregator usage timeseries","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage-timeseries"},{"openapi":"get /v1/aggregators/{id}/usage/group-by-customer","title":"Get aggregator usage grouped by customer","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage-grouped-by-customer"},{"openapi":"get /v1/aggregators/{id}/usage/events","title":"Get aggregator usage events","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage-events"}]},{"group":"Analytics","pages":[{"openapi":"get /v1/analytics","title":"Get analytics","href":"/api-reference/endpoints/analytics/get-analytics"}]},{"group":"Approval workflows","pages":[{"openapi":"get /v1/approvals/workflows/{id}","title":"Get approval workflow","href":"/api-reference/endpoints/approval-workflows/get-approval-workflow"},{"openapi":"get /v1/approvals/workflows","title":"List approval workflows","href":"/api-reference/endpoints/approval-workflows/list-approval-workflows"},{"openapi":"post /v1/approvals/workflows","title":"Create approval workflow","href":"/api-reference/endpoints/approval-workflows/create-approval-workflow"},{"openapi":"put /v1/approvals/workflows/{id}","title":"Update approval workflow","href":"/api-reference/endpoints/approval-workflows/update-approval-workflow"},{"openapi":"delete /v1/approvals/workflows/{id}","title":"Delete approval workflow","href":"/api-reference/endpoints/approval-workflows/delete-approval-workflow"}]},{"group":"Audit logs","pages":[{"openapi":"get /v1/audit-logs","title":"List audit logs","href":"/api-reference/endpoints/audit-logs/list-audit-logs"}]},{"group":"Bank Accounts","pages":[{"openapi":"get /v1/bank-accounts/{id}","title":"Get bank account","href":"/api-reference/endpoints/bank-accounts/get-bank-account"},{"openapi":"get /v1/bank-accounts","title":"List bank accounts","href":"/api-reference/endpoints/bank-accounts/list-bank-accounts"},{"openapi":"get /v1/bank-accounts/{id}/transactions","title":"List bank transactions","href":"/api-reference/endpoints/bank-accounts/list-bank-transactions"}]},{"group":"Billable events","pages":[{"openapi":"get /v1/events","title":"Get events","href":"/api-reference/endpoints/billable-events/get-events"},{"openapi":"post /v1/events","title":"Ingest billable event","href":"/api-reference/endpoints/billable-events/ingest-billable-event"},{"openapi":"post /v1/events/batch","title":"Ingest billable events","href":"/api-reference/endpoints/billable-events/ingest-billable-events"},{"openapi":"delete /v1/events","title":"Delete billable events","href":"/api-reference/endpoints/billable-events/delete-billable-events"}]},{"group":"Catalog","pages":[{"openapi":"get /v1/catalog/versions/draft","title":"Get catalog draft","href":"/api-reference/endpoints/catalog/get-catalog-draft"},{"openapi":"get /v1/catalog/versions/{id}","title":"Get catalog version","href":"/api-reference/endpoints/catalog/get-catalog-version"},{"openapi":"get /v1/catalog/versions","title":"List catalog versions","href":"/api-reference/endpoints/catalog/list-catalog-versions"},{"openapi":"post /v1/catalog/versions/draft","title":"Create catalog draft","href":"/api-reference/endpoints/catalog/create-catalog-draft"},{"openapi":"delete /v1/catalog/versions/draft","title":"Discard catalog draft","href":"/api-reference/endpoints/catalog/discard-catalog-draft"},{"openapi":"get /v1/catalog/export","title":"Export catalog","href":"/api-reference/endpoints/catalog/export-catalog"},{"openapi":"post /v1/catalog/versions/draft/publish","title":"Publish catalog draft","href":"/api-reference/endpoints/catalog/publish-catalog-draft"},{"openapi":"post /v1/catalog/versions/{id}/revert","title":"Revert catalog version","href":"/api-reference/endpoints/catalog/revert-catalog-version"}]},{"group":"Companies","pages":[{"openapi":"get /v1/companies","title":"List companies","href":"/api-reference/endpoints/companies/list-companies"},{"openapi":"post /v1/companies","title":"Create company","href":"/api-reference/endpoints/companies/create-company"}]},{"group":"Coupons","pages":[{"openapi":"get /v1/coupons/{id}","title":"Get coupon","href":"/api-reference/endpoints/coupons/get-coupon"},{"openapi":"get /v1/coupons","title":"List coupons","href":"/api-reference/endpoints/coupons/list-coupons"},{"openapi":"post /v1/coupons","title":"Create coupon","href":"/api-reference/endpoints/coupons/create-coupon"},{"openapi":"put /v1/coupons/{id}","title":"Update coupon","href":"/api-reference/endpoints/coupons/update-coupon"},{"openapi":"delete /v1/coupons/{id}","title":"Delete coupon","href":"/api-reference/endpoints/coupons/delete-coupon"}]},{"group":"Coupons > Promotion codes","pages":[{"openapi":"get /v1/promotion-codes/{id}","title":"Get promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/get-promotion-code"},{"openapi":"get /v1/promotion-codes","title":"List promotion codes","href":"/api-reference/endpoints/coupons->-promotion-codes/list-promotion-codes"},{"openapi":"post /v1/promotion-codes","title":"Create promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/create-promotion-code"},{"openapi":"patch /v1/promotion-codes/{id}","title":"Update promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/update-promotion-code"},{"openapi":"delete /v1/promotion-codes/{id}","title":"Delete promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/delete-promotion-code"}]},{"group":"Custom properties","pages":[{"openapi":"get /v1/custom-properties","title":"List custom properties","href":"/api-reference/endpoints/custom-properties/list-custom-properties"},{"openapi":"post /v1/custom-properties","title":"Create custom property","href":"/api-reference/endpoints/custom-properties/create-custom-property"},{"openapi":"put /v1/custom-properties/{id}","title":"Update custom property","href":"/api-reference/endpoints/custom-properties/update-custom-property"},{"openapi":"delete /v1/custom-properties/{id}","title":"Delete custom property","href":"/api-reference/endpoints/custom-properties/delete-custom-property"}]},{"group":"Customers","pages":[{"openapi":"get /v2/customers/{id}","title":"Get customer","href":"/api-reference/endpoints/customers/get-customer"},{"openapi":"get /v1/customers/{id}/portal","title":"Get customer portal","href":"/api-reference/endpoints/customers/get-customer-portal"},{"openapi":"get /v1/customers/{id}/taxes/rates","title":"Get customer tax rates","href":"/api-reference/endpoints/customers/get-customer-tax-rates"},{"openapi":"get /v1/customers/{id}/arr-history","title":"Get customer ARR history","href":"/api-reference/endpoints/customers/get-customer-arr-history"},{"openapi":"get /v1/customers/{id}/valuation","title":"Get customer valuation","href":"/api-reference/endpoints/customers/get-customer-valuation"},{"openapi":"get /v2/customers","title":"List customers","href":"/api-reference/endpoints/customers/list-customers"},{"openapi":"post /v1/customers","title":"Create customer","href":"/api-reference/endpoints/customers/create-customer"},{"openapi":"post /v1/customers/batch","title":"Create customers batch","href":"/api-reference/endpoints/customers/create-customers-batch"},{"openapi":"put /v1/customers/{id}","title":"Update customer","href":"/api-reference/endpoints/customers/update-customer"},{"openapi":"put /v1/customers/{id}/archive","title":"Archive customer","href":"/api-reference/endpoints/customers/archive-customer"},{"openapi":"post /v1/customers/providers-bulk-update","title":"Bulk update providers/customers mapping","href":"/api-reference/endpoints/customers/bulk-update-providerscustomers-mapping"},{"openapi":"put /v1/customers/{id}/unarchive","title":"Unarchive customer","href":"/api-reference/endpoints/customers/unarchive-customer"},{"openapi":"delete /v1/customers/{id}","title":"Delete customer","href":"/api-reference/endpoints/customers/delete-customer"}]},{"group":"Customers > Address","pages":[{"openapi":"get /v1/customers/{customerId}/addresses","title":"List addresses","href":"/api-reference/endpoints/customers->-address/list-addresses"},{"openapi":"post /v1/customers/{customerId}/addresses","title":"Create address","href":"/api-reference/endpoints/customers->-address/create-address"},{"openapi":"patch /v1/customers/{customerId}/addresses/{addressId}","title":"Update address","href":"/api-reference/endpoints/customers->-address/update-address"},{"openapi":"delete /v1/customers/{customerId}/addresses/{addressId}","title":"Delete address","href":"/api-reference/endpoints/customers->-address/delete-address"}]},{"group":"Customers > Credits","pages":[{"openapi":"get /v1/customers/{id}/credits/{productId}","title":"Get credit product","href":"/api-reference/endpoints/customers->-credits/get-credit-product"},{"openapi":"get /v1/customers/{id}/credits/{productId}/portal-settings","title":"Get credit portal settings","href":"/api-reference/endpoints/customers->-credits/get-credit-portal-settings"},{"openapi":"get /v1/customers/credits","title":"List all credit products","href":"/api-reference/endpoints/customers->-credits/list-all-credit-products"},{"openapi":"get /v1/customers/{id}/credits","title":"List credit products","href":"/api-reference/endpoints/customers->-credits/list-credit-products"},{"openapi":"get /v1/customers/{id}/credits/{productId}/transactions","title":"List credit transactions","href":"/api-reference/endpoints/customers->-credits/list-credit-transactions"},{"openapi":"post /v1/customers/{id}/credits","title":"Create credit product","href":"/api-reference/endpoints/customers->-credits/create-credit-product"},{"openapi":"post /v1/customers/{id}/credits/{productId}/usage","title":"Create credits usage","href":"/api-reference/endpoints/customers->-credits/create-credits-usage"},{"openapi":"put /v1/customers/{id}/credits/{productId}","title":"Update credit product","href":"/api-reference/endpoints/customers->-credits/update-credit-product"},{"openapi":"patch /v1/customers/{id}/credits/{productId}/transactions/{transactionId}","title":"Update credit topup expiration","href":"/api-reference/endpoints/customers->-credits/update-credit-topup-expiration"},{"openapi":"put /v1/customers/{id}/credits/{productId}/portal-settings","title":"Update credit portal settings","href":"/api-reference/endpoints/customers->-credits/update-credit-portal-settings"},{"openapi":"post /v1/customers/{id}/credits/{productId}/purchase","title":"Purchase credits","href":"/api-reference/endpoints/customers->-credits/purchase-credits"},{"openapi":"post /v1/customers/{id}/credits/{productId}/topup","title":"Topup credits","href":"/api-reference/endpoints/customers->-credits/topup-credits"}]},{"group":"Customers > Features","pages":[{"openapi":"get /v1/customers/{id}/features","title":"Resolve customer features","href":"/api-reference/endpoints/customers->-features/resolve-customer-features"},{"openapi":"put /v1/customers/{id}/features/{code}","title":"Set customer feature","href":"/api-reference/endpoints/customers->-features/set-customer-feature"},{"openapi":"delete /v1/customers/{id}/features/{code}","title":"Delete customer feature","href":"/api-reference/endpoints/customers->-features/delete-customer-feature"}]},{"group":"Customers > Payment methods","pages":[{"openapi":"get /v1/customers/{id}/payment-methods/{paymentMethodId}","title":"Get payment method","href":"/api-reference/endpoints/customers->-payment-methods/get-payment-method"},{"openapi":"get /v1/customers/{id}/payment-methods","title":"List payment methods","href":"/api-reference/endpoints/customers->-payment-methods/list-payment-methods"},{"openapi":"post /v1/customers/{id}/payment-methods","title":"Create payment method","href":"/api-reference/endpoints/customers->-payment-methods/create-payment-method"},{"openapi":"delete /v1/customers/{id}/payment-methods/{paymentMethodId}","title":"Delete payment method","href":"/api-reference/endpoints/customers->-payment-methods/delete-payment-method"}]},{"group":"Customers > Segments","pages":[{"openapi":"get /v1/customers/segments/{id}","title":"Get segment","href":"/api-reference/endpoints/customers->-segments/get-segment"},{"openapi":"get /v1/customers/segments","title":"List segments","href":"/api-reference/endpoints/customers->-segments/list-segments"},{"openapi":"post /v1/customers/segments","title":"Create segment","href":"/api-reference/endpoints/customers->-segments/create-segment"},{"openapi":"patch /v1/customers/segments/{id}","title":"Update segment","href":"/api-reference/endpoints/customers->-segments/update-segment"},{"openapi":"delete /v1/customers/segments/{id}","title":"Delete segment","href":"/api-reference/endpoints/customers->-segments/delete-segment"}]},{"group":"Customers > Shipping","pages":[{"openapi":"get /v1/customers/{customerId}/shipping","title":"Get shipping destination","href":"/api-reference/endpoints/customers->-shipping/get-shipping-destination"},{"openapi":"put /v1/customers/{customerId}/shipping","title":"Set shipping destination","href":"/api-reference/endpoints/customers->-shipping/set-shipping-destination"}]},{"group":"Customers > Usage","pages":[{"openapi":"get /v1/customers/{id}/usage/{aggregator_id}","title":"Get customer usage for an aggregator","href":"/api-reference/endpoints/customers->-usage/get-customer-usage-for-an-aggregator"},{"openapi":"get /v1/customers/{id}/usage/{aggregator_id}/timeseries","title":"Get customer usage timeseries","href":"/api-reference/endpoints/customers->-usage/get-customer-usage-timeseries"},{"openapi":"get /v1/customers/{id}/usage/{aggregator_id}/events","title":"Get customer usage events","href":"/api-reference/endpoints/customers->-usage/get-customer-usage-events"},{"openapi":"get /v1/customers/{id}/usage","title":"List customer usage","href":"/api-reference/endpoints/customers->-usage/list-customer-usage"}]},{"group":"Exports","pages":[{"openapi":"get /v1/exports/{exportId}","title":"Get export","href":"/api-reference/endpoints/exports/get-export"},{"openapi":"get /v1/exports","title":"List exports","href":"/api-reference/endpoints/exports/list-exports"},{"openapi":"get /v2/exports/{exportId}/download","title":"Download export","href":"/api-reference/endpoints/exports/download-export"},{"openapi":"post /v1/exports","title":"Create export","href":"/api-reference/endpoints/exports/create-export"}]},{"group":"Features","pages":[{"openapi":"get /v1/features/{code}","title":"Get feature","href":"/api-reference/endpoints/features/get-feature"},{"openapi":"get /v1/features","title":"List features","href":"/api-reference/endpoints/features/list-features"},{"openapi":"post /v1/features","title":"Create feature","href":"/api-reference/endpoints/features/create-feature"},{"openapi":"put /v1/features/{code}","title":"Update feature","href":"/api-reference/endpoints/features/update-feature"},{"openapi":"put /v1/features/{code}/archive","title":"Archive feature","href":"/api-reference/endpoints/features/archive-feature"},{"openapi":"put /v1/features/{code}/unarchive","title":"Unarchive feature","href":"/api-reference/endpoints/features/unarchive-feature"},{"openapi":"delete /v1/features/{code}","title":"Delete feature","href":"/api-reference/endpoints/features/delete-feature"}]},{"group":"Files","pages":[{"openapi":"get /v1/files","title":"List files","href":"/api-reference/endpoints/files/list-files"},{"openapi":"get /v1/files/{id}/download","title":"Download file","href":"/api-reference/endpoints/files/download-file"},{"openapi":"post /v1/files","title":"Create file","href":"/api-reference/endpoints/files/create-file"},{"openapi":"delete /v1/files/{id}","title":"Delete file","href":"/api-reference/endpoints/files/delete-file"}]},{"group":"Integrations","pages":[{"openapi":"post /v1/integrations/components/token","title":"Create component token","href":"/api-reference/endpoints/integrations/create-component-token"}]},{"group":"Invoices","pages":[{"openapi":"get /v1/invoices/{id}","deprecated":true,"title":"Get invoice","href":"/api-reference/endpoints/invoices/get-invoice"},{"openapi":"get /v2/invoices/{id}","title":"Get invoice","href":"/api-reference/endpoints/invoices/get-invoice-1"},{"openapi":"get /v1/invoices","deprecated":true,"title":"List invoices","href":"/api-reference/endpoints/invoices/list-invoices"},{"openapi":"get /v2/invoices","title":"List invoices","href":"/api-reference/endpoints/invoices/list-invoices-1"},{"openapi":"get /v2/invoices/{id}/download","title":"Download invoice","href":"/api-reference/endpoints/invoices/download-invoice"},{"openapi":"post /v1/invoices","title":"Create invoice","href":"/api-reference/endpoints/invoices/create-invoice"},{"openapi":"post /v1/invoices/{id}/credit-notes","title":"Create credit note","href":"/api-reference/endpoints/invoices/create-credit-note"},{"openapi":"post /v2/invoices/batch","title":"Create invoices","href":"/api-reference/endpoints/invoices/create-invoices"},{"openapi":"patch /v1/invoices/{id}","title":"Update invoice","href":"/api-reference/endpoints/invoices/update-invoice"},{"openapi":"post /v1/invoices/{id}/charge","title":"Charge invoice","href":"/api-reference/endpoints/invoices/charge-invoice"},{"openapi":"post /v1/invoices/{id}/uncollectible","title":"Mark as uncollectible","href":"/api-reference/endpoints/invoices/mark-as-uncollectible"},{"openapi":"post /v1/invoices/send-email","title":"Send invoice emails","href":"/api-reference/endpoints/invoices/send-invoice-emails"},{"openapi":"post /v1/invoices/{id}/upload","title":"Upload PDF to invoice","href":"/api-reference/endpoints/invoices/upload-pdf-to-invoice"},{"openapi":"post /v1/invoices/{id}/validate","title":"Validate draft invoice","href":"/api-reference/endpoints/invoices/validate-draft-invoice"},{"openapi":"post /v1/invoices/{id}/void","title":"Void invoice","href":"/api-reference/endpoints/invoices/void-invoice"},{"openapi":"delete /v1/invoices/{id}","title":"Delete invoice","href":"/api-reference/endpoints/invoices/delete-invoice"}]},{"group":"Invoices > Events","pages":[{"openapi":"get /v1/invoices/{id}/events","title":"List invoice events","href":"/api-reference/endpoints/invoices->-events/list-invoice-events"}]},{"group":"Invoices > Transactions","pages":[{"openapi":"post /v1/invoices/{id}/transactions","title":"Create transaction","href":"/api-reference/endpoints/invoices->-transactions/create-transaction"},{"openapi":"delete /v1/invoices/{id}/transactions/{transactionId}","title":"Delete transaction","href":"/api-reference/endpoints/invoices->-transactions/delete-transaction"}]},{"group":"Invoicing entities","pages":[{"openapi":"get /v1/invoicing-entities/{id}","title":"Get invoicing entity","href":"/api-reference/endpoints/invoicing-entities/get-invoicing-entity"},{"openapi":"get /v1/invoicing-entities","title":"List invoicing entities","href":"/api-reference/endpoints/invoicing-entities/list-invoicing-entities"},{"openapi":"post /v1/invoicing-entities","title":"Create invoicing entity","href":"/api-reference/endpoints/invoicing-entities/create-invoicing-entity"},{"openapi":"put /v1/invoicing-entities/{id}","title":"Update invoicing entity","href":"/api-reference/endpoints/invoicing-entities/update-invoicing-entity"},{"openapi":"delete /v1/invoicing-entities/{id}","title":"Delete invoicing entity","href":"/api-reference/endpoints/invoicing-entities/delete-invoicing-entity"}]},{"group":"OAuth2","pages":[{"openapi":"get /oauth/userinfo","title":"Get user info","href":"/api-reference/endpoints/oauth2/get-user-info"},{"openapi":"get /oauth/authorize","title":"Authorize","href":"/api-reference/endpoints/oauth2/authorize"},{"openapi":"post /oauth/tokens","title":"Generate tokens","href":"/api-reference/endpoints/oauth2/generate-tokens"},{"openapi":"get /oauth/callback","title":"OAuth callback","href":"/api-reference/endpoints/oauth2/oauth-callback"},{"openapi":"post /oauth/register","title":"Register OAuth client","href":"/api-reference/endpoints/oauth2/register-oauth-client"},{"openapi":"post /oauth/revoke","title":"Revoke token","href":"/api-reference/endpoints/oauth2/revoke-token"}]},{"group":"Organisations","pages":[{"openapi":"get /v1/organisations/{id}","title":"Get organisation","href":"/api-reference/endpoints/organisations/get-organisation"},{"openapi":"get /v1/organisations","title":"List organisations","href":"/api-reference/endpoints/organisations/list-organisations"},{"openapi":"patch /v1/organisations/{id}","title":"Patch organisation","href":"/api-reference/endpoints/organisations/patch-organisation"}]},{"group":"Payments","pages":[{"openapi":"post /v1/payments","title":"Create payment","href":"/api-reference/endpoints/payments/create-payment"}]},{"group":"Price books","pages":[{"openapi":"get /v1/price-books/{id}","title":"Get price book","href":"/api-reference/endpoints/price-books/get-price-book"},{"openapi":"get /v1/price-books","title":"List price books","href":"/api-reference/endpoints/price-books/list-price-books"},{"openapi":"post /v1/price-books","title":"Create price book","href":"/api-reference/endpoints/price-books/create-price-book"},{"openapi":"put /v1/price-books/{id}","title":"Update price book","href":"/api-reference/endpoints/price-books/update-price-book"},{"openapi":"post /v1/price-books/{id}/products","title":"Add products to price book","href":"/api-reference/endpoints/price-books/add-products-to-price-book"},{"openapi":"delete /v1/price-books/{id}/products/{productId}","title":"Remove product from price book","href":"/api-reference/endpoints/price-books/remove-product-from-price-book"},{"openapi":"delete /v1/price-books/{id}","title":"Delete price book","href":"/api-reference/endpoints/price-books/delete-price-book"}]},{"group":"Price configurations","pages":[{"openapi":"get /v1/price-configurations/{id}","title":"Get price configuration","href":"/api-reference/endpoints/price-configurations/get-price-configuration"},{"openapi":"get /v1/price-configurations","title":"List price configurations","href":"/api-reference/endpoints/price-configurations/list-price-configurations"},{"openapi":"post /v1/price-configurations","title":"Create price configuration","href":"/api-reference/endpoints/price-configurations/create-price-configuration"},{"openapi":"put /v1/price-configurations/{id}/prices","title":"Update prices","href":"/api-reference/endpoints/price-configurations/update-prices"},{"openapi":"delete /v1/price-configurations/{id}","title":"Delete price configuration","href":"/api-reference/endpoints/price-configurations/delete-price-configuration"}]},{"group":"Products","pages":[{"openapi":"get /v1/products/{id}","title":"Get product","href":"/api-reference/endpoints/products/get-product"},{"openapi":"get /v1/products","title":"List products","href":"/api-reference/endpoints/products/list-products"},{"openapi":"post /v1/products","title":"Create product","href":"/api-reference/endpoints/products/create-product"},{"openapi":"put /v1/products/{id}","title":"Update product","href":"/api-reference/endpoints/products/update-product"},{"openapi":"put /v1/products/{id}/archive","title":"Archive product","href":"/api-reference/endpoints/products/archive-product"},{"openapi":"put /v1/products/{id}/unarchive","title":"Unarchive product","href":"/api-reference/endpoints/products/unarchive-product"},{"openapi":"delete /v1/products/{id}","title":"Delete product","href":"/api-reference/endpoints/products/delete-product"}]},{"group":"Products > Features","pages":[{"openapi":"get /v1/products/{id}/features","title":"List product features","href":"/api-reference/endpoints/products->-features/list-product-features"},{"openapi":"put /v1/products/{id}/features/{code}","title":"Set product feature","href":"/api-reference/endpoints/products->-features/set-product-feature"},{"openapi":"delete /v1/products/{id}/features/{code}","title":"Delete product feature","href":"/api-reference/endpoints/products->-features/delete-product-feature"}]},{"group":"Quotes","pages":[{"openapi":"get /v1/quotes/{id}","title":"Get quote","href":"/api-reference/endpoints/quotes/get-quote"},{"openapi":"get /v1/quotes/{id}/valuation","title":"Get quote valuation","href":"/api-reference/endpoints/quotes/get-quote-valuation"},{"openapi":"get /v1/quotes","title":"List quotes","href":"/api-reference/endpoints/quotes/list-quotes"},{"openapi":"get /v1/quotes/{id}/signers","title":"List quote signers","href":"/api-reference/endpoints/quotes/list-quote-signers"},{"openapi":"get /v1/quotes/{id}/download","title":"Download quote","href":"/api-reference/endpoints/quotes/download-quote"},{"openapi":"get /v1/quotes/{quoteId}/files/{id}/download","title":"Download quote file","href":"/api-reference/endpoints/quotes/download-quote-file"},{"openapi":"post /v1/quotes","title":"Create quote","href":"/api-reference/endpoints/quotes/create-quote"},{"openapi":"patch /v1/quotes/{id}","title":"Update quote","href":"/api-reference/endpoints/quotes/update-quote"},{"openapi":"post /v1/quotes/{id}/duplicate","title":"Duplicate quote","href":"/api-reference/endpoints/quotes/duplicate-quote"},{"openapi":"post /v1/quotes/{id}/finalize","title":"Finalize quote","href":"/api-reference/endpoints/quotes/finalize-quote"},{"openapi":"post /v1/quotes/{id}/redraft","title":"Redraft quote","href":"/api-reference/endpoints/quotes/redraft-quote"},{"openapi":"post /v1/quotes/{id}/send","title":"Send quote","href":"/api-reference/endpoints/quotes/send-quote"},{"openapi":"put /v1/quotes/{id}/signers","title":"Set quote signers","href":"/api-reference/endpoints/quotes/set-quote-signers"},{"openapi":"post /v1/quotes/{id}/sign","title":"Sign quote","href":"/api-reference/endpoints/quotes/sign-quote"},{"openapi":"post /v1/quotes/{id}/void","title":"Void quote","href":"/api-reference/endpoints/quotes/void-quote"}]},{"group":"Quotes > Approvals","pages":[{"openapi":"get /v1/quotes/{id}/approvals","title":"Get quote approvals","href":"/api-reference/endpoints/quotes->-approvals/get-quote-approvals"},{"openapi":"post /v1/quotes/{id}/approve","title":"Approve quote","href":"/api-reference/endpoints/quotes->-approvals/approve-quote"}]},{"group":"Quotes > Templates","pages":[{"openapi":"get /v1/quotes/templates/{id}","title":"Get quote template","href":"/api-reference/endpoints/quotes->-templates/get-quote-template"},{"openapi":"get /v1/quotes/templates","title":"List quote templates","href":"/api-reference/endpoints/quotes->-templates/list-quote-templates"}]},{"group":"Subscriptions","pages":[{"openapi":"get /v2/subscriptions/{id}","title":"Get subscription","href":"/api-reference/endpoints/subscriptions/get-subscription"},{"openapi":"get /v1/subscriptions/{id}/arr-history","title":"Get subscription ARR history","href":"/api-reference/endpoints/subscriptions/get-subscription-arr-history"},{"openapi":"get /v1/subscriptions/{id}/valuation","title":"Get subscription valuation","href":"/api-reference/endpoints/subscriptions/get-subscription-valuation"},{"openapi":"get /v1/subscriptions/{id}/estimates","title":"List subscription estimates","href":"/api-reference/endpoints/subscriptions/list-subscription-estimates"},{"openapi":"get /v2/subscriptions","title":"List subscriptions","href":"/api-reference/endpoints/subscriptions/list-subscriptions"},{"openapi":"post /v1/subscriptions/{id}/update","title":"Create subscription update","href":"/api-reference/endpoints/subscriptions/create-subscription-update"},{"openapi":"post /v1/subscriptions/{id}/update-many","title":"Create subscription updates","href":"/api-reference/endpoints/subscriptions/create-subscription-updates"},{"openapi":"post /v2/subscriptions","title":"Create subscription","href":"/api-reference/endpoints/subscriptions/create-subscription"},{"openapi":"put /v2/subscriptions/{id}","title":"Update subscription","href":"/api-reference/endpoints/subscriptions/update-subscription"},{"openapi":"post /v1/subscriptions/{id}/activate","title":"Activate subscription","href":"/api-reference/endpoints/subscriptions/activate-subscription"},{"openapi":"post /v1/subscriptions/{id}/cancel","title":"Cancel subscription","href":"/api-reference/endpoints/subscriptions/cancel-subscription"},{"openapi":"post /v1/subscriptions/{id}/pause","title":"Pause subscription","href":"/api-reference/endpoints/subscriptions/pause-subscription"},{"openapi":"get /v1/subscriptions/{id}/preview-timeline","title":"Preview subscription timeline","href":"/api-reference/endpoints/subscriptions/preview-subscription-timeline"},{"openapi":"post /v1/subscriptions/{id}/reactivate","title":"Reactivate subscription","href":"/api-reference/endpoints/subscriptions/reactivate-subscription"},{"openapi":"post /v2/subscriptions/{id}/refresh-seat-products","title":"Refresh seat products","href":"/api-reference/endpoints/subscriptions/refresh-seat-products"},{"openapi":"post /v1/subscriptions/refresh","title":"Refresh subscriptions","href":"/api-reference/endpoints/subscriptions/refresh-subscriptions"},{"openapi":"post /v1/subscriptions/{id}/reinstate","title":"Reinstate subscription","href":"/api-reference/endpoints/subscriptions/reinstate-subscription"},{"openapi":"post /v1/subscriptions/{id}/renew","title":"Renew subscription","href":"/api-reference/endpoints/subscriptions/renew-subscription"},{"openapi":"post /v1/subscriptions/{id}/simulate-updates","title":"Simulate subscription updates","href":"/api-reference/endpoints/subscriptions/simulate-subscription-updates"}]},{"group":"Subscriptions > Phases","pages":[{"openapi":"get /v2/subscriptions/{id}/phases/{phaseId}","title":"Get subscription phase","href":"/api-reference/endpoints/subscriptions->-phases/get-subscription-phase"},{"openapi":"get /v2/subscriptions/{id}/phases","title":"List subscription phases","href":"/api-reference/endpoints/subscriptions->-phases/list-subscription-phases"},{"openapi":"post /v2/subscriptions/{id}/next-phase","title":"Transition subscription to next phase","href":"/api-reference/endpoints/subscriptions->-phases/transition-subscription-to-next-phase"}]},{"group":"Subscriptions > Templates","pages":[{"openapi":"get /v1/subscriptions/templates/{id}","title":"Get subscription template","href":"/api-reference/endpoints/subscriptions->-templates/get-subscription-template"},{"openapi":"get /v1/subscriptions/templates","title":"List subscription templates","href":"/api-reference/endpoints/subscriptions->-templates/list-subscription-templates"},{"openapi":"post /v1/subscriptions/templates","title":"Create subscription template","description":"Create a new subscription template.","href":"/api-reference/endpoints/subscriptions->-templates/create-subscription-template"},{"openapi":"post /v1/subscriptions/templates/{id}/configurations","title":"Create subscription template configuration","href":"/api-reference/endpoints/subscriptions->-templates/create-subscription-template-configuration"},{"openapi":"patch /v1/subscriptions/templates/{id}","title":"Update subscription template","description":"Update the name or description of a subscription template.","href":"/api-reference/endpoints/subscriptions->-templates/update-subscription-template"},{"openapi":"put /v1/subscriptions/templates/{templateId}/configurations/{id}","title":"Update subscription template configuration","href":"/api-reference/endpoints/subscriptions->-templates/update-subscription-template-configuration"},{"openapi":"delete /v1/subscriptions/templates/{id}","title":"Delete subscription template","href":"/api-reference/endpoints/subscriptions->-templates/delete-subscription-template"},{"openapi":"delete /v1/subscriptions/templates/{templateId}/configurations/{id}","title":"Delete subscription template configuration","href":"/api-reference/endpoints/subscriptions->-templates/delete-subscription-template-configuration"}]},{"group":"Subscriptions > Transitions","pages":[{"openapi":"get /v2/subscriptions/transitions/{id}","title":"Get subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/get-subscription-transition"},{"openapi":"get /v2/subscriptions/transitions","title":"List subscription transitions","href":"/api-reference/endpoints/subscriptions->-transitions/list-subscription-transitions"},{"openapi":"post /v2/subscriptions/transitions","title":"Create subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/create-subscription-transition"},{"openapi":"post /v2/subscriptions/transitions/{id}/cancel","title":"Cancel subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/cancel-subscription-transition"},{"openapi":"post /v2/subscriptions/transitions/preview","title":"Preview subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/preview-subscription-transition"}]},{"group":"Taxes","pages":[{"openapi":"get /v1/taxes/rates/{id}","title":"Get tax rate","href":"/api-reference/endpoints/taxes/get-tax-rate"},{"openapi":"get /v1/taxes/rates","title":"List tax rates","href":"/api-reference/endpoints/taxes/list-tax-rates"},{"openapi":"post /v1/taxes/rates","title":"Create tax rate","href":"/api-reference/endpoints/taxes/create-tax-rate"},{"openapi":"patch /v1/taxes/rates/{id}","title":"Update tax rate","href":"/api-reference/endpoints/taxes/update-tax-rate"},{"openapi":"delete /v1/taxes/rates/{id}","title":"Delete tax rate","href":"/api-reference/endpoints/taxes/delete-tax-rate"}]},{"group":"Third-party apps","pages":[{"openapi":"get /v1/apps","title":"List apps","href":"/api-reference/endpoints/third-party-apps/list-apps"},{"openapi":"post /v1/apps","title":"Create app","href":"/api-reference/endpoints/third-party-apps/create-app"},{"openapi":"put /v1/apps/{id}","title":"Update app","href":"/api-reference/endpoints/third-party-apps/update-app"},{"openapi":"delete /v1/apps/{id}","title":"Delete app","href":"/api-reference/endpoints/third-party-apps/delete-app"}]},{"group":"Transactions","pages":[{"openapi":"get /v1/transactions/{id}","title":"Get transaction","href":"/api-reference/endpoints/transactions/get-transaction"},{"openapi":"get /v1/transactions","title":"List transactions","href":"/api-reference/endpoints/transactions/list-transactions"},{"openapi":"post /v1/transactions","title":"Create transaction","href":"/api-reference/endpoints/transactions/create-transaction"},{"openapi":"post /v1/transactions/{id}/refund","title":"Refund transaction","href":"/api-reference/endpoints/transactions/refund-transaction"},{"openapi":"delete /v1/transactions/{id}","title":"Delete transaction","href":"/api-reference/endpoints/transactions/delete-transaction"}]},{"group":"Users","pages":[{"openapi":"get /v1/users/{id}","title":"Get user","href":"/api-reference/endpoints/users/get-user"},{"openapi":"get /v1/users","title":"List users","href":"/api-reference/endpoints/users/list-users"}]},{"group":"Users > Roles","pages":[{"openapi":"get /v1/users/roles/{id}","title":"Get user role","href":"/api-reference/endpoints/users->-roles/get-user-role"},{"openapi":"get /v1/users/roles","title":"List user roles","href":"/api-reference/endpoints/users->-roles/list-user-roles"}]},{"group":"Wallets","pages":[{"openapi":"get /v1/wallets/settings","title":"Get wallet settings","href":"/api-reference/endpoints/wallets/get-wallet-settings"},{"openapi":"get /v1/wallets/{id}","title":"Get wallet","href":"/api-reference/endpoints/wallets/get-wallet"},{"openapi":"get /v2/wallets","title":"List wallets","href":"/api-reference/endpoints/wallets/list-wallets"},{"openapi":"get /v1/wallets/{id}/transactions","title":"List wallet transactions","href":"/api-reference/endpoints/wallets/list-wallet-transactions"},{"openapi":"post /v1/wallets","title":"Create wallet","href":"/api-reference/endpoints/wallets/create-wallet"},{"openapi":"patch /v1/wallets/settings","title":"Update wallet settings","href":"/api-reference/endpoints/wallets/update-wallet-settings"},{"openapi":"put /v1/wallets/{id}","title":"Update wallet","href":"/api-reference/endpoints/wallets/update-wallet"},{"openapi":"post /v1/wallets/{id}/load","title":"Load wallet","href":"/api-reference/endpoints/wallets/load-wallet"},{"openapi":"post /v1/wallets/{id}/transactions/{transactionId}/revert","title":"Revert wallet load","href":"/api-reference/endpoints/wallets/revert-wallet-load"}]},{"group":"Webhooks","pages":[{"openapi":"get /v1/webhooks/endpoints/{id}","title":"Get webhook endpoint","href":"/api-reference/endpoints/webhooks/get-webhook-endpoint"},{"openapi":"get /v1/webhooks/endpoints","title":"List webhook endpoints","href":"/api-reference/endpoints/webhooks/list-webhook-endpoints"},{"openapi":"get /v1/webhooks/messages","title":"List webhook messages","href":"/api-reference/endpoints/webhooks/list-webhook-messages"},{"openapi":"post /v1/webhooks/endpoints","title":"Create webhook endpoint","href":"/api-reference/endpoints/webhooks/create-webhook-endpoint"},{"openapi":"put /v1/webhooks/endpoints/{id}","title":"Update webhook endpoint","href":"/api-reference/endpoints/webhooks/update-webhook-endpoint"},{"openapi":"delete /v1/webhooks/endpoints/{id}","title":"Delete webhook endpoint","href":"/api-reference/endpoints/webhooks/delete-webhook-endpoint"}]}]},{"tab":"Guides","icon":"list-check","pages":[{"title":"Guides","href":"/guides/importing-historical-data"}]},{"tab":"Integrations","icon":"link","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"Changelog","icon":"bullhorn","pages":[{"title":"Changelog","href":"/changelog/2026-09"}]}]},"title":"Create subscription template configuration - Hyperline","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}